package com.shensi.adminCollect.service.fleet;

import com.shensi.adminCollect.domain.fleet.FleetCard;
import com.shensi.adminCollect.domain.fleet.form.FleetCardForm;
import com.shensi.adminCollect.domain.fleet.form.FleetCardQueryForm;
import com.shensi.adminCollect.domain.fleet.form.FleetCardRechargeForm;
import com.shensi.adminCollect.domain.fleet.vo.FleetCardVo;

import java.util.List;

public interface FleetCardService {

    /**
     * 新增车队卡
     *
     * @param fleetCardForm 车队卡
     * @return 结果
     */
    int insertFleetCard(FleetCardForm fleetCardForm);

    int updateFleetCard(Long id, FleetCardForm fleetCardForm);

    int updateFleetCard(FleetCard fleetCard);

    int updateFleetCardRecharge(Long id, FleetCardRechargeForm fleetCardRechargeForm);

    /**
     * 查询车队卡列表
     *
     * @param fleetCardQueryForm 车队卡
     * @return 车队卡集合
     */
    List<FleetCardVo> selectFleetCardList(FleetCardQueryForm fleetCardQueryForm);

    int updateAllocationType(Integer allocationType, Long id);

    int recovery(Long id);

    int deleted(List<Long> ids);

    FleetCard getById(Long id);

    /**
     * 查询车队列表
     * */
    List<FleetCardVo> selectFleetNameList(FleetCardQueryForm fleetCardQueryForm);
}
